﻿using System.Collections.Generic;
using System.Data;
using ibba.src.DataAccess;
using ibba.src.global;
using ibba.src.norisk.Contracts;

namespace ibba.src.norisk.DataAccess
{
    public class CorporativoDB : DataAccessBase
    {
        public List<ProdutoItau> ObterProdutosItau()
        {
            var retorno = new List<ProdutoItau>();

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure,
                                                          "DBO.SRCP_OBTER_PRODUTOS_ITAU_CORP", new List<IDataParameter>()))
                {
                    while (rdr.Read())
                    {
                        retorno.Add(new ProdutoItau()
                        {
                            Codigo = (string)base.ObterValor(rdr, "CD_CHV_PRODUTO_NC"),
                            Descricao = (string)base.ObterValor(rdr, "DS_PRODUTO_NC")
                        });
                    }
                }
            }

            return retorno;
        }

        public List<Estrategia> ObterEstrategias()
        {
            var retorno = new List<Estrategia>();

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure,
                                                          "DBO.SRCP_OBTER_ESTRATEGIAS_CORP", new List<IDataParameter>()))
                {
                    while (rdr.Read())
                    {
                        retorno.Add(new Estrategia()
                        {
                            Codigo = (int)base.ObterValor(rdr, "ID_ESTRATEGIA"),
                            Descricao = (string)base.ObterValor(rdr, "DS_ESTRATEGIA")
                        });
                    }
                }
            }

            return retorno;
        }

        public List<AreaInstitucional> ObterAreasInstitucionais()
        {
            var retorno = new List<AreaInstitucional>();

            using (AcessoDadosHelper db = new AcessoDadosHelper(GlobalInfo.SISTEMA, GlobalInfo.LOCAL))
            {
                using (IDataReader rdr = db.ExecuteReader(CommandType.StoredProcedure,
                                                          "DBO.SRCP_OBTER_AREAS_INSTITUCIONAIS_CORP", new List<IDataParameter>()))
                {
                    while (rdr.Read())
                    {
                        retorno.Add(new AreaInstitucional()
                        {
                            Codigo = (int)base.ObterValor(rdr, "ID_AREA_INST"),
                            Descricao = (string)base.ObterValor(rdr, "DS_AREA_INST")
                        });
                    }
                }
            }

            return retorno;
        }
    }
}
